package com.travel.server.manager.model;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class OrderInfoExample extends PageExample{
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public OrderInfoExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andSpecialIdIsNull() {
            addCriterion("special_id is null");
            return (Criteria) this;
        }

        public Criteria andSpecialIdIsNotNull() {
            addCriterion("special_id is not null");
            return (Criteria) this;
        }

        public Criteria andSpecialIdEqualTo(Integer value) {
            addCriterion("special_id =", value, "specialId");
            return (Criteria) this;
        }

        public Criteria andSpecialIdNotEqualTo(Integer value) {
            addCriterion("special_id <>", value, "specialId");
            return (Criteria) this;
        }

        public Criteria andSpecialIdGreaterThan(Integer value) {
            addCriterion("special_id >", value, "specialId");
            return (Criteria) this;
        }

        public Criteria andSpecialIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("special_id >=", value, "specialId");
            return (Criteria) this;
        }

        public Criteria andSpecialIdLessThan(Integer value) {
            addCriterion("special_id <", value, "specialId");
            return (Criteria) this;
        }

        public Criteria andSpecialIdLessThanOrEqualTo(Integer value) {
            addCriterion("special_id <=", value, "specialId");
            return (Criteria) this;
        }

        public Criteria andSpecialIdIn(List<Integer> values) {
            addCriterion("special_id in", values, "specialId");
            return (Criteria) this;
        }

        public Criteria andSpecialIdNotIn(List<Integer> values) {
            addCriterion("special_id not in", values, "specialId");
            return (Criteria) this;
        }

        public Criteria andSpecialIdBetween(Integer value1, Integer value2) {
            addCriterion("special_id between", value1, value2, "specialId");
            return (Criteria) this;
        }

        public Criteria andSpecialIdNotBetween(Integer value1, Integer value2) {
            addCriterion("special_id not between", value1, value2, "specialId");
            return (Criteria) this;
        }

        public Criteria andOrderIdIsNull() {
            addCriterion("order_id is null");
            return (Criteria) this;
        }

        public Criteria andOrderIdIsNotNull() {
            addCriterion("order_id is not null");
            return (Criteria) this;
        }

        public Criteria andOrderIdEqualTo(String value) {
            addCriterion("order_id =", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdNotEqualTo(String value) {
            addCriterion("order_id <>", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdGreaterThan(String value) {
            addCriterion("order_id >", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdGreaterThanOrEqualTo(String value) {
            addCriterion("order_id >=", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdLessThan(String value) {
            addCriterion("order_id <", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdLessThanOrEqualTo(String value) {
            addCriterion("order_id <=", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdLike(String value) {
            addCriterion("order_id like", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdNotLike(String value) {
            addCriterion("order_id not like", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdIn(List<String> values) {
            addCriterion("order_id in", values, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdNotIn(List<String> values) {
            addCriterion("order_id not in", values, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdBetween(String value1, String value2) {
            addCriterion("order_id between", value1, value2, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdNotBetween(String value1, String value2) {
            addCriterion("order_id not between", value1, value2, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderTotalIsNull() {
            addCriterion("order_total is null");
            return (Criteria) this;
        }

        public Criteria andOrderTotalIsNotNull() {
            addCriterion("order_total is not null");
            return (Criteria) this;
        }

        public Criteria andOrderTotalEqualTo(Integer value) {
            addCriterion("order_total =", value, "orderTotal");
            return (Criteria) this;
        }

        public Criteria andOrderTotalNotEqualTo(Integer value) {
            addCriterion("order_total <>", value, "orderTotal");
            return (Criteria) this;
        }

        public Criteria andOrderTotalGreaterThan(Integer value) {
            addCriterion("order_total >", value, "orderTotal");
            return (Criteria) this;
        }

        public Criteria andOrderTotalGreaterThanOrEqualTo(Integer value) {
            addCriterion("order_total >=", value, "orderTotal");
            return (Criteria) this;
        }

        public Criteria andOrderTotalLessThan(Integer value) {
            addCriterion("order_total <", value, "orderTotal");
            return (Criteria) this;
        }

        public Criteria andOrderTotalLessThanOrEqualTo(Integer value) {
            addCriterion("order_total <=", value, "orderTotal");
            return (Criteria) this;
        }

        public Criteria andOrderTotalIn(List<Integer> values) {
            addCriterion("order_total in", values, "orderTotal");
            return (Criteria) this;
        }

        public Criteria andOrderTotalNotIn(List<Integer> values) {
            addCriterion("order_total not in", values, "orderTotal");
            return (Criteria) this;
        }

        public Criteria andOrderTotalBetween(Integer value1, Integer value2) {
            addCriterion("order_total between", value1, value2, "orderTotal");
            return (Criteria) this;
        }

        public Criteria andOrderTotalNotBetween(Integer value1, Integer value2) {
            addCriterion("order_total not between", value1, value2, "orderTotal");
            return (Criteria) this;
        }

        public Criteria andOutOrderIdIsNull() {
            addCriterion("out_order_id is null");
            return (Criteria) this;
        }

        public Criteria andOutOrderIdIsNotNull() {
            addCriterion("out_order_id is not null");
            return (Criteria) this;
        }

        public Criteria andOutOrderIdEqualTo(String value) {
            addCriterion("out_order_id =", value, "outOrderId");
            return (Criteria) this;
        }

        public Criteria andOutOrderIdNotEqualTo(String value) {
            addCriterion("out_order_id <>", value, "outOrderId");
            return (Criteria) this;
        }

        public Criteria andOutOrderIdGreaterThan(String value) {
            addCriterion("out_order_id >", value, "outOrderId");
            return (Criteria) this;
        }

        public Criteria andOutOrderIdGreaterThanOrEqualTo(String value) {
            addCriterion("out_order_id >=", value, "outOrderId");
            return (Criteria) this;
        }

        public Criteria andOutOrderIdLessThan(String value) {
            addCriterion("out_order_id <", value, "outOrderId");
            return (Criteria) this;
        }

        public Criteria andOutOrderIdLessThanOrEqualTo(String value) {
            addCriterion("out_order_id <=", value, "outOrderId");
            return (Criteria) this;
        }

        public Criteria andOutOrderIdLike(String value) {
            addCriterion("out_order_id like", value, "outOrderId");
            return (Criteria) this;
        }

        public Criteria andOutOrderIdNotLike(String value) {
            addCriterion("out_order_id not like", value, "outOrderId");
            return (Criteria) this;
        }

        public Criteria andOutOrderIdIn(List<String> values) {
            addCriterion("out_order_id in", values, "outOrderId");
            return (Criteria) this;
        }

        public Criteria andOutOrderIdNotIn(List<String> values) {
            addCriterion("out_order_id not in", values, "outOrderId");
            return (Criteria) this;
        }

        public Criteria andOutOrderIdBetween(String value1, String value2) {
            addCriterion("out_order_id between", value1, value2, "outOrderId");
            return (Criteria) this;
        }

        public Criteria andOutOrderIdNotBetween(String value1, String value2) {
            addCriterion("out_order_id not between", value1, value2, "outOrderId");
            return (Criteria) this;
        }

        public Criteria andPayIdIsNull() {
            addCriterion("pay_id is null");
            return (Criteria) this;
        }

        public Criteria andPayIdIsNotNull() {
            addCriterion("pay_id is not null");
            return (Criteria) this;
        }

        public Criteria andPayIdEqualTo(String value) {
            addCriterion("pay_id =", value, "payId");
            return (Criteria) this;
        }

        public Criteria andPayIdNotEqualTo(String value) {
            addCriterion("pay_id <>", value, "payId");
            return (Criteria) this;
        }

        public Criteria andPayIdGreaterThan(String value) {
            addCriterion("pay_id >", value, "payId");
            return (Criteria) this;
        }

        public Criteria andPayIdGreaterThanOrEqualTo(String value) {
            addCriterion("pay_id >=", value, "payId");
            return (Criteria) this;
        }

        public Criteria andPayIdLessThan(String value) {
            addCriterion("pay_id <", value, "payId");
            return (Criteria) this;
        }

        public Criteria andPayIdLessThanOrEqualTo(String value) {
            addCriterion("pay_id <=", value, "payId");
            return (Criteria) this;
        }

        public Criteria andPayIdLike(String value) {
            addCriterion("pay_id like", value, "payId");
            return (Criteria) this;
        }

        public Criteria andPayIdNotLike(String value) {
            addCriterion("pay_id not like", value, "payId");
            return (Criteria) this;
        }

        public Criteria andPayIdIn(List<String> values) {
            addCriterion("pay_id in", values, "payId");
            return (Criteria) this;
        }

        public Criteria andPayIdNotIn(List<String> values) {
            addCriterion("pay_id not in", values, "payId");
            return (Criteria) this;
        }

        public Criteria andPayIdBetween(String value1, String value2) {
            addCriterion("pay_id between", value1, value2, "payId");
            return (Criteria) this;
        }

        public Criteria andPayIdNotBetween(String value1, String value2) {
            addCriterion("pay_id not between", value1, value2, "payId");
            return (Criteria) this;
        }

        public Criteria andTeamNumberIsNull() {
            addCriterion("team_number is null");
            return (Criteria) this;
        }

        public Criteria andTeamNumberIsNotNull() {
            addCriterion("team_number is not null");
            return (Criteria) this;
        }

        public Criteria andTeamNumberEqualTo(String value) {
            addCriterion("team_number =", value, "teamNumber");
            return (Criteria) this;
        }

        public Criteria andTeamNumberNotEqualTo(String value) {
            addCriterion("team_number <>", value, "teamNumber");
            return (Criteria) this;
        }

        public Criteria andTeamNumberGreaterThan(String value) {
            addCriterion("team_number >", value, "teamNumber");
            return (Criteria) this;
        }

        public Criteria andTeamNumberGreaterThanOrEqualTo(String value) {
            addCriterion("team_number >=", value, "teamNumber");
            return (Criteria) this;
        }

        public Criteria andTeamNumberLessThan(String value) {
            addCriterion("team_number <", value, "teamNumber");
            return (Criteria) this;
        }

        public Criteria andTeamNumberLessThanOrEqualTo(String value) {
            addCriterion("team_number <=", value, "teamNumber");
            return (Criteria) this;
        }

        public Criteria andTeamNumberLike(String value) {
            addCriterion("team_number like", value, "teamNumber");
            return (Criteria) this;
        }

        public Criteria andTeamNumberNotLike(String value) {
            addCriterion("team_number not like", value, "teamNumber");
            return (Criteria) this;
        }

        public Criteria andTeamNumberIn(List<String> values) {
            addCriterion("team_number in", values, "teamNumber");
            return (Criteria) this;
        }

        public Criteria andTeamNumberNotIn(List<String> values) {
            addCriterion("team_number not in", values, "teamNumber");
            return (Criteria) this;
        }

        public Criteria andTeamNumberBetween(String value1, String value2) {
            addCriterion("team_number between", value1, value2, "teamNumber");
            return (Criteria) this;
        }

        public Criteria andTeamNumberNotBetween(String value1, String value2) {
            addCriterion("team_number not between", value1, value2, "teamNumber");
            return (Criteria) this;
        }

        public Criteria andApplyAmountIsNull() {
            addCriterion("apply_amount is null");
            return (Criteria) this;
        }

        public Criteria andApplyAmountIsNotNull() {
            addCriterion("apply_amount is not null");
            return (Criteria) this;
        }

        public Criteria andApplyAmountEqualTo(Integer value) {
            addCriterion("apply_amount =", value, "applyAmount");
            return (Criteria) this;
        }

        public Criteria andApplyAmountNotEqualTo(Integer value) {
            addCriterion("apply_amount <>", value, "applyAmount");
            return (Criteria) this;
        }

        public Criteria andApplyAmountGreaterThan(Integer value) {
            addCriterion("apply_amount >", value, "applyAmount");
            return (Criteria) this;
        }

        public Criteria andApplyAmountGreaterThanOrEqualTo(Integer value) {
            addCriterion("apply_amount >=", value, "applyAmount");
            return (Criteria) this;
        }

        public Criteria andApplyAmountLessThan(Integer value) {
            addCriterion("apply_amount <", value, "applyAmount");
            return (Criteria) this;
        }

        public Criteria andApplyAmountLessThanOrEqualTo(Integer value) {
            addCriterion("apply_amount <=", value, "applyAmount");
            return (Criteria) this;
        }

        public Criteria andApplyAmountIn(List<Integer> values) {
            addCriterion("apply_amount in", values, "applyAmount");
            return (Criteria) this;
        }

        public Criteria andApplyAmountNotIn(List<Integer> values) {
            addCriterion("apply_amount not in", values, "applyAmount");
            return (Criteria) this;
        }

        public Criteria andApplyAmountBetween(Integer value1, Integer value2) {
            addCriterion("apply_amount between", value1, value2, "applyAmount");
            return (Criteria) this;
        }

        public Criteria andApplyAmountNotBetween(Integer value1, Integer value2) {
            addCriterion("apply_amount not between", value1, value2, "applyAmount");
            return (Criteria) this;
        }

        public Criteria andOrderMarkIsNull() {
            addCriterion("order_mark is null");
            return (Criteria) this;
        }

        public Criteria andOrderMarkIsNotNull() {
            addCriterion("order_mark is not null");
            return (Criteria) this;
        }

        public Criteria andOrderMarkEqualTo(Integer value) {
            addCriterion("order_mark =", value, "orderMark");
            return (Criteria) this;
        }

        public Criteria andOrderMarkNotEqualTo(Integer value) {
            addCriterion("order_mark <>", value, "orderMark");
            return (Criteria) this;
        }

        public Criteria andOrderMarkGreaterThan(Integer value) {
            addCriterion("order_mark >", value, "orderMark");
            return (Criteria) this;
        }

        public Criteria andOrderMarkGreaterThanOrEqualTo(Integer value) {
            addCriterion("order_mark >=", value, "orderMark");
            return (Criteria) this;
        }

        public Criteria andOrderMarkLessThan(Integer value) {
            addCriterion("order_mark <", value, "orderMark");
            return (Criteria) this;
        }

        public Criteria andOrderMarkLessThanOrEqualTo(Integer value) {
            addCriterion("order_mark <=", value, "orderMark");
            return (Criteria) this;
        }

        public Criteria andOrderMarkIn(List<Integer> values) {
            addCriterion("order_mark in", values, "orderMark");
            return (Criteria) this;
        }

        public Criteria andOrderMarkNotIn(List<Integer> values) {
            addCriterion("order_mark not in", values, "orderMark");
            return (Criteria) this;
        }

        public Criteria andOrderMarkBetween(Integer value1, Integer value2) {
            addCriterion("order_mark between", value1, value2, "orderMark");
            return (Criteria) this;
        }

        public Criteria andOrderMarkNotBetween(Integer value1, Integer value2) {
            addCriterion("order_mark not between", value1, value2, "orderMark");
            return (Criteria) this;
        }

        public Criteria andOrderTypeIsNull() {
            addCriterion("order_type is null");
            return (Criteria) this;
        }

        public Criteria andOrderTypeIsNotNull() {
            addCriterion("order_type is not null");
            return (Criteria) this;
        }

        public Criteria andOrderTypeEqualTo(String value) {
            addCriterion("order_type =", value, "orderType");
            return (Criteria) this;
        }

        public Criteria andOrderTypeNotEqualTo(String value) {
            addCriterion("order_type <>", value, "orderType");
            return (Criteria) this;
        }

        public Criteria andOrderTypeGreaterThan(String value) {
            addCriterion("order_type >", value, "orderType");
            return (Criteria) this;
        }

        public Criteria andOrderTypeGreaterThanOrEqualTo(String value) {
            addCriterion("order_type >=", value, "orderType");
            return (Criteria) this;
        }

        public Criteria andOrderTypeLessThan(String value) {
            addCriterion("order_type <", value, "orderType");
            return (Criteria) this;
        }

        public Criteria andOrderTypeLessThanOrEqualTo(String value) {
            addCriterion("order_type <=", value, "orderType");
            return (Criteria) this;
        }

        public Criteria andOrderTypeLike(String value) {
            addCriterion("order_type like", value, "orderType");
            return (Criteria) this;
        }

        public Criteria andOrderTypeNotLike(String value) {
            addCriterion("order_type not like", value, "orderType");
            return (Criteria) this;
        }

        public Criteria andOrderTypeIn(List<String> values) {
            addCriterion("order_type in", values, "orderType");
            return (Criteria) this;
        }

        public Criteria andOrderTypeNotIn(List<String> values) {
            addCriterion("order_type not in", values, "orderType");
            return (Criteria) this;
        }

        public Criteria andOrderTypeBetween(String value1, String value2) {
            addCriterion("order_type between", value1, value2, "orderType");
            return (Criteria) this;
        }

        public Criteria andOrderTypeNotBetween(String value1, String value2) {
            addCriterion("order_type not between", value1, value2, "orderType");
            return (Criteria) this;
        }

        public Criteria andOrderStateIsNull() {
            addCriterion("order_state is null");
            return (Criteria) this;
        }

        public Criteria andOrderStateIsNotNull() {
            addCriterion("order_state is not null");
            return (Criteria) this;
        }

        public Criteria andOrderStateEqualTo(String value) {
            addCriterion("order_state =", value, "orderState");
            return (Criteria) this;
        }

        public Criteria andOrderStateNotEqualTo(String value) {
            addCriterion("order_state <>", value, "orderState");
            return (Criteria) this;
        }

        public Criteria andOrderStateGreaterThan(String value) {
            addCriterion("order_state >", value, "orderState");
            return (Criteria) this;
        }

        public Criteria andOrderStateGreaterThanOrEqualTo(String value) {
            addCriterion("order_state >=", value, "orderState");
            return (Criteria) this;
        }

        public Criteria andOrderStateLessThan(String value) {
            addCriterion("order_state <", value, "orderState");
            return (Criteria) this;
        }

        public Criteria andOrderStateLessThanOrEqualTo(String value) {
            addCriterion("order_state <=", value, "orderState");
            return (Criteria) this;
        }

        public Criteria andOrderStateLike(String value) {
            addCriterion("order_state like", value, "orderState");
            return (Criteria) this;
        }

        public Criteria andOrderStateNotLike(String value) {
            addCriterion("order_state not like", value, "orderState");
            return (Criteria) this;
        }

        public Criteria andOrderStateIn(List<String> values) {
            addCriterion("order_state in", values, "orderState");
            return (Criteria) this;
        }

        public Criteria andOrderStateNotIn(List<String> values) {
            addCriterion("order_state not in", values, "orderState");
            return (Criteria) this;
        }

        public Criteria andOrderStateBetween(String value1, String value2) {
            addCriterion("order_state between", value1, value2, "orderState");
            return (Criteria) this;
        }

        public Criteria andOrderStateNotBetween(String value1, String value2) {
            addCriterion("order_state not between", value1, value2, "orderState");
            return (Criteria) this;
        }

        public Criteria andRefundStateIsNull() {
            addCriterion("refund_state is null");
            return (Criteria) this;
        }

        public Criteria andRefundStateIsNotNull() {
            addCriterion("refund_state is not null");
            return (Criteria) this;
        }

        public Criteria andRefundStateEqualTo(String value) {
            addCriterion("refund_state =", value, "refundState");
            return (Criteria) this;
        }

        public Criteria andRefundStateNotEqualTo(String value) {
            addCriterion("refund_state <>", value, "refundState");
            return (Criteria) this;
        }

        public Criteria andRefundStateGreaterThan(String value) {
            addCriterion("refund_state >", value, "refundState");
            return (Criteria) this;
        }

        public Criteria andRefundStateGreaterThanOrEqualTo(String value) {
            addCriterion("refund_state >=", value, "refundState");
            return (Criteria) this;
        }

        public Criteria andRefundStateLessThan(String value) {
            addCriterion("refund_state <", value, "refundState");
            return (Criteria) this;
        }

        public Criteria andRefundStateLessThanOrEqualTo(String value) {
            addCriterion("refund_state <=", value, "refundState");
            return (Criteria) this;
        }

        public Criteria andRefundStateLike(String value) {
            addCriterion("refund_state like", value, "refundState");
            return (Criteria) this;
        }

        public Criteria andRefundStateNotLike(String value) {
            addCriterion("refund_state not like", value, "refundState");
            return (Criteria) this;
        }

        public Criteria andRefundStateIn(List<String> values) {
            addCriterion("refund_state in", values, "refundState");
            return (Criteria) this;
        }

        public Criteria andRefundStateNotIn(List<String> values) {
            addCriterion("refund_state not in", values, "refundState");
            return (Criteria) this;
        }

        public Criteria andRefundStateBetween(String value1, String value2) {
            addCriterion("refund_state between", value1, value2, "refundState");
            return (Criteria) this;
        }

        public Criteria andRefundStateNotBetween(String value1, String value2) {
            addCriterion("refund_state not between", value1, value2, "refundState");
            return (Criteria) this;
        }

        public Criteria andOrderStepIsNull() {
            addCriterion("order_step is null");
            return (Criteria) this;
        }

        public Criteria andOrderStepIsNotNull() {
            addCriterion("order_step is not null");
            return (Criteria) this;
        }

        public Criteria andOrderStepEqualTo(String value) {
            addCriterion("order_step =", value, "orderStep");
            return (Criteria) this;
        }

        public Criteria andOrderStepNotEqualTo(String value) {
            addCriterion("order_step <>", value, "orderStep");
            return (Criteria) this;
        }

        public Criteria andOrderStepGreaterThan(String value) {
            addCriterion("order_step >", value, "orderStep");
            return (Criteria) this;
        }

        public Criteria andOrderStepGreaterThanOrEqualTo(String value) {
            addCriterion("order_step >=", value, "orderStep");
            return (Criteria) this;
        }

        public Criteria andOrderStepLessThan(String value) {
            addCriterion("order_step <", value, "orderStep");
            return (Criteria) this;
        }

        public Criteria andOrderStepLessThanOrEqualTo(String value) {
            addCriterion("order_step <=", value, "orderStep");
            return (Criteria) this;
        }

        public Criteria andOrderStepLike(String value) {
            addCriterion("order_step like", value, "orderStep");
            return (Criteria) this;
        }

        public Criteria andOrderStepNotLike(String value) {
            addCriterion("order_step not like", value, "orderStep");
            return (Criteria) this;
        }

        public Criteria andOrderStepIn(List<String> values) {
            addCriterion("order_step in", values, "orderStep");
            return (Criteria) this;
        }

        public Criteria andOrderStepNotIn(List<String> values) {
            addCriterion("order_step not in", values, "orderStep");
            return (Criteria) this;
        }

        public Criteria andOrderStepBetween(String value1, String value2) {
            addCriterion("order_step between", value1, value2, "orderStep");
            return (Criteria) this;
        }

        public Criteria andOrderStepNotBetween(String value1, String value2) {
            addCriterion("order_step not between", value1, value2, "orderStep");
            return (Criteria) this;
        }

        public Criteria andPayTypeIsNull() {
            addCriterion("pay_type is null");
            return (Criteria) this;
        }

        public Criteria andPayTypeIsNotNull() {
            addCriterion("pay_type is not null");
            return (Criteria) this;
        }

        public Criteria andPayTypeEqualTo(String value) {
            addCriterion("pay_type =", value, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeNotEqualTo(String value) {
            addCriterion("pay_type <>", value, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeGreaterThan(String value) {
            addCriterion("pay_type >", value, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeGreaterThanOrEqualTo(String value) {
            addCriterion("pay_type >=", value, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeLessThan(String value) {
            addCriterion("pay_type <", value, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeLessThanOrEqualTo(String value) {
            addCriterion("pay_type <=", value, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeLike(String value) {
            addCriterion("pay_type like", value, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeNotLike(String value) {
            addCriterion("pay_type not like", value, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeIn(List<String> values) {
            addCriterion("pay_type in", values, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeNotIn(List<String> values) {
            addCriterion("pay_type not in", values, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeBetween(String value1, String value2) {
            addCriterion("pay_type between", value1, value2, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeNotBetween(String value1, String value2) {
            addCriterion("pay_type not between", value1, value2, "payType");
            return (Criteria) this;
        }

        public Criteria andOrderChargeIdIsNull() {
            addCriterion("order_charge_id is null");
            return (Criteria) this;
        }

        public Criteria andOrderChargeIdIsNotNull() {
            addCriterion("order_charge_id is not null");
            return (Criteria) this;
        }

        public Criteria andOrderChargeIdEqualTo(Integer value) {
            addCriterion("order_charge_id =", value, "orderChargeId");
            return (Criteria) this;
        }

        public Criteria andOrderChargeIdNotEqualTo(Integer value) {
            addCriterion("order_charge_id <>", value, "orderChargeId");
            return (Criteria) this;
        }

        public Criteria andOrderChargeIdGreaterThan(Integer value) {
            addCriterion("order_charge_id >", value, "orderChargeId");
            return (Criteria) this;
        }

        public Criteria andOrderChargeIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("order_charge_id >=", value, "orderChargeId");
            return (Criteria) this;
        }

        public Criteria andOrderChargeIdLessThan(Integer value) {
            addCriterion("order_charge_id <", value, "orderChargeId");
            return (Criteria) this;
        }

        public Criteria andOrderChargeIdLessThanOrEqualTo(Integer value) {
            addCriterion("order_charge_id <=", value, "orderChargeId");
            return (Criteria) this;
        }

        public Criteria andOrderChargeIdIn(List<Integer> values) {
            addCriterion("order_charge_id in", values, "orderChargeId");
            return (Criteria) this;
        }

        public Criteria andOrderChargeIdNotIn(List<Integer> values) {
            addCriterion("order_charge_id not in", values, "orderChargeId");
            return (Criteria) this;
        }

        public Criteria andOrderChargeIdBetween(Integer value1, Integer value2) {
            addCriterion("order_charge_id between", value1, value2, "orderChargeId");
            return (Criteria) this;
        }

        public Criteria andOrderChargeIdNotBetween(Integer value1, Integer value2) {
            addCriterion("order_charge_id not between", value1, value2, "orderChargeId");
            return (Criteria) this;
        }

        public Criteria andOrderChargeNameIsNull() {
            addCriterion("order_charge_name is null");
            return (Criteria) this;
        }

        public Criteria andOrderChargeNameIsNotNull() {
            addCriterion("order_charge_name is not null");
            return (Criteria) this;
        }

        public Criteria andOrderChargeNameEqualTo(String value) {
            addCriterion("order_charge_name =", value, "orderChargeName");
            return (Criteria) this;
        }

        public Criteria andOrderChargeNameNotEqualTo(String value) {
            addCriterion("order_charge_name <>", value, "orderChargeName");
            return (Criteria) this;
        }

        public Criteria andOrderChargeNameGreaterThan(String value) {
            addCriterion("order_charge_name >", value, "orderChargeName");
            return (Criteria) this;
        }

        public Criteria andOrderChargeNameGreaterThanOrEqualTo(String value) {
            addCriterion("order_charge_name >=", value, "orderChargeName");
            return (Criteria) this;
        }

        public Criteria andOrderChargeNameLessThan(String value) {
            addCriterion("order_charge_name <", value, "orderChargeName");
            return (Criteria) this;
        }

        public Criteria andOrderChargeNameLessThanOrEqualTo(String value) {
            addCriterion("order_charge_name <=", value, "orderChargeName");
            return (Criteria) this;
        }

        public Criteria andOrderChargeNameLike(String value) {
            addCriterion("order_charge_name like", value, "orderChargeName");
            return (Criteria) this;
        }

        public Criteria andOrderChargeNameNotLike(String value) {
            addCriterion("order_charge_name not like", value, "orderChargeName");
            return (Criteria) this;
        }

        public Criteria andOrderChargeNameIn(List<String> values) {
            addCriterion("order_charge_name in", values, "orderChargeName");
            return (Criteria) this;
        }

        public Criteria andOrderChargeNameNotIn(List<String> values) {
            addCriterion("order_charge_name not in", values, "orderChargeName");
            return (Criteria) this;
        }

        public Criteria andOrderChargeNameBetween(String value1, String value2) {
            addCriterion("order_charge_name between", value1, value2, "orderChargeName");
            return (Criteria) this;
        }

        public Criteria andOrderChargeNameNotBetween(String value1, String value2) {
            addCriterion("order_charge_name not between", value1, value2, "orderChargeName");
            return (Criteria) this;
        }

        public Criteria andOrderTimeIsNull() {
            addCriterion("order_time is null");
            return (Criteria) this;
        }

        public Criteria andOrderTimeIsNotNull() {
            addCriterion("order_time is not null");
            return (Criteria) this;
        }

        public Criteria andOrderTimeEqualTo(Date value) {
            addCriterion("order_time =", value, "orderTime");
            return (Criteria) this;
        }

        public Criteria andOrderTimeNotEqualTo(Date value) {
            addCriterion("order_time <>", value, "orderTime");
            return (Criteria) this;
        }

        public Criteria andOrderTimeGreaterThan(Date value) {
            addCriterion("order_time >", value, "orderTime");
            return (Criteria) this;
        }

        public Criteria andOrderTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("order_time >=", value, "orderTime");
            return (Criteria) this;
        }

        public Criteria andOrderTimeLessThan(Date value) {
            addCriterion("order_time <", value, "orderTime");
            return (Criteria) this;
        }

        public Criteria andOrderTimeLessThanOrEqualTo(Date value) {
            addCriterion("order_time <=", value, "orderTime");
            return (Criteria) this;
        }

        public Criteria andOrderTimeIn(List<Date> values) {
            addCriterion("order_time in", values, "orderTime");
            return (Criteria) this;
        }

        public Criteria andOrderTimeNotIn(List<Date> values) {
            addCriterion("order_time not in", values, "orderTime");
            return (Criteria) this;
        }

        public Criteria andOrderTimeBetween(Date value1, Date value2) {
            addCriterion("order_time between", value1, value2, "orderTime");
            return (Criteria) this;
        }

        public Criteria andOrderTimeNotBetween(Date value1, Date value2) {
            addCriterion("order_time not between", value1, value2, "orderTime");
            return (Criteria) this;
        }

        public Criteria andPayTimeIsNull() {
            addCriterion("pay_time is null");
            return (Criteria) this;
        }

        public Criteria andPayTimeIsNotNull() {
            addCriterion("pay_time is not null");
            return (Criteria) this;
        }

        public Criteria andPayTimeEqualTo(Date value) {
            addCriterion("pay_time =", value, "payTime");
            return (Criteria) this;
        }

        public Criteria andPayTimeNotEqualTo(Date value) {
            addCriterion("pay_time <>", value, "payTime");
            return (Criteria) this;
        }

        public Criteria andPayTimeGreaterThan(Date value) {
            addCriterion("pay_time >", value, "payTime");
            return (Criteria) this;
        }

        public Criteria andPayTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("pay_time >=", value, "payTime");
            return (Criteria) this;
        }

        public Criteria andPayTimeLessThan(Date value) {
            addCriterion("pay_time <", value, "payTime");
            return (Criteria) this;
        }

        public Criteria andPayTimeLessThanOrEqualTo(Date value) {
            addCriterion("pay_time <=", value, "payTime");
            return (Criteria) this;
        }

        public Criteria andPayTimeIn(List<Date> values) {
            addCriterion("pay_time in", values, "payTime");
            return (Criteria) this;
        }

        public Criteria andPayTimeNotIn(List<Date> values) {
            addCriterion("pay_time not in", values, "payTime");
            return (Criteria) this;
        }

        public Criteria andPayTimeBetween(Date value1, Date value2) {
            addCriterion("pay_time between", value1, value2, "payTime");
            return (Criteria) this;
        }

        public Criteria andPayTimeNotBetween(Date value1, Date value2) {
            addCriterion("pay_time not between", value1, value2, "payTime");
            return (Criteria) this;
        }

        public Criteria andDeliveryTimeIsNull() {
            addCriterion("delivery_time is null");
            return (Criteria) this;
        }

        public Criteria andDeliveryTimeIsNotNull() {
            addCriterion("delivery_time is not null");
            return (Criteria) this;
        }

        public Criteria andDeliveryTimeEqualTo(Date value) {
            addCriterion("delivery_time =", value, "deliveryTime");
            return (Criteria) this;
        }

        public Criteria andDeliveryTimeNotEqualTo(Date value) {
            addCriterion("delivery_time <>", value, "deliveryTime");
            return (Criteria) this;
        }

        public Criteria andDeliveryTimeGreaterThan(Date value) {
            addCriterion("delivery_time >", value, "deliveryTime");
            return (Criteria) this;
        }

        public Criteria andDeliveryTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("delivery_time >=", value, "deliveryTime");
            return (Criteria) this;
        }

        public Criteria andDeliveryTimeLessThan(Date value) {
            addCriterion("delivery_time <", value, "deliveryTime");
            return (Criteria) this;
        }

        public Criteria andDeliveryTimeLessThanOrEqualTo(Date value) {
            addCriterion("delivery_time <=", value, "deliveryTime");
            return (Criteria) this;
        }

        public Criteria andDeliveryTimeIn(List<Date> values) {
            addCriterion("delivery_time in", values, "deliveryTime");
            return (Criteria) this;
        }

        public Criteria andDeliveryTimeNotIn(List<Date> values) {
            addCriterion("delivery_time not in", values, "deliveryTime");
            return (Criteria) this;
        }

        public Criteria andDeliveryTimeBetween(Date value1, Date value2) {
            addCriterion("delivery_time between", value1, value2, "deliveryTime");
            return (Criteria) this;
        }

        public Criteria andDeliveryTimeNotBetween(Date value1, Date value2) {
            addCriterion("delivery_time not between", value1, value2, "deliveryTime");
            return (Criteria) this;
        }

        public Criteria andCompleteTimeIsNull() {
            addCriterion("complete_time is null");
            return (Criteria) this;
        }

        public Criteria andCompleteTimeIsNotNull() {
            addCriterion("complete_time is not null");
            return (Criteria) this;
        }

        public Criteria andCompleteTimeEqualTo(Date value) {
            addCriterion("complete_time =", value, "completeTime");
            return (Criteria) this;
        }

        public Criteria andCompleteTimeNotEqualTo(Date value) {
            addCriterion("complete_time <>", value, "completeTime");
            return (Criteria) this;
        }

        public Criteria andCompleteTimeGreaterThan(Date value) {
            addCriterion("complete_time >", value, "completeTime");
            return (Criteria) this;
        }

        public Criteria andCompleteTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("complete_time >=", value, "completeTime");
            return (Criteria) this;
        }

        public Criteria andCompleteTimeLessThan(Date value) {
            addCriterion("complete_time <", value, "completeTime");
            return (Criteria) this;
        }

        public Criteria andCompleteTimeLessThanOrEqualTo(Date value) {
            addCriterion("complete_time <=", value, "completeTime");
            return (Criteria) this;
        }

        public Criteria andCompleteTimeIn(List<Date> values) {
            addCriterion("complete_time in", values, "completeTime");
            return (Criteria) this;
        }

        public Criteria andCompleteTimeNotIn(List<Date> values) {
            addCriterion("complete_time not in", values, "completeTime");
            return (Criteria) this;
        }

        public Criteria andCompleteTimeBetween(Date value1, Date value2) {
            addCriterion("complete_time between", value1, value2, "completeTime");
            return (Criteria) this;
        }

        public Criteria andCompleteTimeNotBetween(Date value1, Date value2) {
            addCriterion("complete_time not between", value1, value2, "completeTime");
            return (Criteria) this;
        }

        public Criteria andIsTravelDataIsNull() {
            addCriterion("is_travel_data is null");
            return (Criteria) this;
        }

        public Criteria andIsTravelDataIsNotNull() {
            addCriterion("is_travel_data is not null");
            return (Criteria) this;
        }

        public Criteria andIsTravelDataEqualTo(Integer value) {
            addCriterion("is_travel_data =", value, "isTravelData");
            return (Criteria) this;
        }

        public Criteria andIsTravelDataNotEqualTo(Integer value) {
            addCriterion("is_travel_data <>", value, "isTravelData");
            return (Criteria) this;
        }

        public Criteria andIsTravelDataGreaterThan(Integer value) {
            addCriterion("is_travel_data >", value, "isTravelData");
            return (Criteria) this;
        }

        public Criteria andIsTravelDataGreaterThanOrEqualTo(Integer value) {
            addCriterion("is_travel_data >=", value, "isTravelData");
            return (Criteria) this;
        }

        public Criteria andIsTravelDataLessThan(Integer value) {
            addCriterion("is_travel_data <", value, "isTravelData");
            return (Criteria) this;
        }

        public Criteria andIsTravelDataLessThanOrEqualTo(Integer value) {
            addCriterion("is_travel_data <=", value, "isTravelData");
            return (Criteria) this;
        }

        public Criteria andIsTravelDataIn(List<Integer> values) {
            addCriterion("is_travel_data in", values, "isTravelData");
            return (Criteria) this;
        }

        public Criteria andIsTravelDataNotIn(List<Integer> values) {
            addCriterion("is_travel_data not in", values, "isTravelData");
            return (Criteria) this;
        }

        public Criteria andIsTravelDataBetween(Integer value1, Integer value2) {
            addCriterion("is_travel_data between", value1, value2, "isTravelData");
            return (Criteria) this;
        }

        public Criteria andIsTravelDataNotBetween(Integer value1, Integer value2) {
            addCriterion("is_travel_data not between", value1, value2, "isTravelData");
            return (Criteria) this;
        }

        public Criteria andOrderAmountIsNull() {
            addCriterion("order_amount is null");
            return (Criteria) this;
        }

        public Criteria andOrderAmountIsNotNull() {
            addCriterion("order_amount is not null");
            return (Criteria) this;
        }

        public Criteria andOrderAmountEqualTo(Long value) {
            addCriterion("order_amount =", value, "orderAmount");
            return (Criteria) this;
        }

        public Criteria andOrderAmountNotEqualTo(Long value) {
            addCriterion("order_amount <>", value, "orderAmount");
            return (Criteria) this;
        }

        public Criteria andOrderAmountGreaterThan(Long value) {
            addCriterion("order_amount >", value, "orderAmount");
            return (Criteria) this;
        }

        public Criteria andOrderAmountGreaterThanOrEqualTo(Long value) {
            addCriterion("order_amount >=", value, "orderAmount");
            return (Criteria) this;
        }

        public Criteria andOrderAmountLessThan(Long value) {
            addCriterion("order_amount <", value, "orderAmount");
            return (Criteria) this;
        }

        public Criteria andOrderAmountLessThanOrEqualTo(Long value) {
            addCriterion("order_amount <=", value, "orderAmount");
            return (Criteria) this;
        }

        public Criteria andOrderAmountIn(List<Long> values) {
            addCriterion("order_amount in", values, "orderAmount");
            return (Criteria) this;
        }

        public Criteria andOrderAmountNotIn(List<Long> values) {
            addCriterion("order_amount not in", values, "orderAmount");
            return (Criteria) this;
        }

        public Criteria andOrderAmountBetween(Long value1, Long value2) {
            addCriterion("order_amount between", value1, value2, "orderAmount");
            return (Criteria) this;
        }

        public Criteria andOrderAmountNotBetween(Long value1, Long value2) {
            addCriterion("order_amount not between", value1, value2, "orderAmount");
            return (Criteria) this;
        }

        public Criteria andPayAmountIsNull() {
            addCriterion("pay_amount is null");
            return (Criteria) this;
        }

        public Criteria andPayAmountIsNotNull() {
            addCriterion("pay_amount is not null");
            return (Criteria) this;
        }

        public Criteria andPayAmountEqualTo(Long value) {
            addCriterion("pay_amount =", value, "payAmount");
            return (Criteria) this;
        }

        public Criteria andPayAmountNotEqualTo(Long value) {
            addCriterion("pay_amount <>", value, "payAmount");
            return (Criteria) this;
        }

        public Criteria andPayAmountGreaterThan(Long value) {
            addCriterion("pay_amount >", value, "payAmount");
            return (Criteria) this;
        }

        public Criteria andPayAmountGreaterThanOrEqualTo(Long value) {
            addCriterion("pay_amount >=", value, "payAmount");
            return (Criteria) this;
        }

        public Criteria andPayAmountLessThan(Long value) {
            addCriterion("pay_amount <", value, "payAmount");
            return (Criteria) this;
        }

        public Criteria andPayAmountLessThanOrEqualTo(Long value) {
            addCriterion("pay_amount <=", value, "payAmount");
            return (Criteria) this;
        }

        public Criteria andPayAmountIn(List<Long> values) {
            addCriterion("pay_amount in", values, "payAmount");
            return (Criteria) this;
        }

        public Criteria andPayAmountNotIn(List<Long> values) {
            addCriterion("pay_amount not in", values, "payAmount");
            return (Criteria) this;
        }

        public Criteria andPayAmountBetween(Long value1, Long value2) {
            addCriterion("pay_amount between", value1, value2, "payAmount");
            return (Criteria) this;
        }

        public Criteria andPayAmountNotBetween(Long value1, Long value2) {
            addCriterion("pay_amount not between", value1, value2, "payAmount");
            return (Criteria) this;
        }

        public Criteria andCustomerIdIsNull() {
            addCriterion("customer_id is null");
            return (Criteria) this;
        }

        public Criteria andCustomerIdIsNotNull() {
            addCriterion("customer_id is not null");
            return (Criteria) this;
        }

        public Criteria andCustomerIdEqualTo(Integer value) {
            addCriterion("customer_id =", value, "customerId");
            return (Criteria) this;
        }

        public Criteria andCustomerIdNotEqualTo(Integer value) {
            addCriterion("customer_id <>", value, "customerId");
            return (Criteria) this;
        }

        public Criteria andCustomerIdGreaterThan(Integer value) {
            addCriterion("customer_id >", value, "customerId");
            return (Criteria) this;
        }

        public Criteria andCustomerIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("customer_id >=", value, "customerId");
            return (Criteria) this;
        }

        public Criteria andCustomerIdLessThan(Integer value) {
            addCriterion("customer_id <", value, "customerId");
            return (Criteria) this;
        }

        public Criteria andCustomerIdLessThanOrEqualTo(Integer value) {
            addCriterion("customer_id <=", value, "customerId");
            return (Criteria) this;
        }

        public Criteria andCustomerIdIn(List<Integer> values) {
            addCriterion("customer_id in", values, "customerId");
            return (Criteria) this;
        }

        public Criteria andCustomerIdNotIn(List<Integer> values) {
            addCriterion("customer_id not in", values, "customerId");
            return (Criteria) this;
        }

        public Criteria andCustomerIdBetween(Integer value1, Integer value2) {
            addCriterion("customer_id between", value1, value2, "customerId");
            return (Criteria) this;
        }

        public Criteria andCustomerIdNotBetween(Integer value1, Integer value2) {
            addCriterion("customer_id not between", value1, value2, "customerId");
            return (Criteria) this;
        }

        public Criteria andTransferTimeIsNull() {
            addCriterion("transfer_time is null");
            return (Criteria) this;
        }

        public Criteria andTransferTimeIsNotNull() {
            addCriterion("transfer_time is not null");
            return (Criteria) this;
        }

        public Criteria andTransferTimeEqualTo(Integer value) {
            addCriterion("transfer_time =", value, "transferTime");
            return (Criteria) this;
        }

        public Criteria andTransferTimeNotEqualTo(Integer value) {
            addCriterion("transfer_time <>", value, "transferTime");
            return (Criteria) this;
        }

        public Criteria andTransferTimeGreaterThan(Integer value) {
            addCriterion("transfer_time >", value, "transferTime");
            return (Criteria) this;
        }

        public Criteria andTransferTimeGreaterThanOrEqualTo(Integer value) {
            addCriterion("transfer_time >=", value, "transferTime");
            return (Criteria) this;
        }

        public Criteria andTransferTimeLessThan(Integer value) {
            addCriterion("transfer_time <", value, "transferTime");
            return (Criteria) this;
        }

        public Criteria andTransferTimeLessThanOrEqualTo(Integer value) {
            addCriterion("transfer_time <=", value, "transferTime");
            return (Criteria) this;
        }

        public Criteria andTransferTimeIn(List<Integer> values) {
            addCriterion("transfer_time in", values, "transferTime");
            return (Criteria) this;
        }

        public Criteria andTransferTimeNotIn(List<Integer> values) {
            addCriterion("transfer_time not in", values, "transferTime");
            return (Criteria) this;
        }

        public Criteria andTransferTimeBetween(Integer value1, Integer value2) {
            addCriterion("transfer_time between", value1, value2, "transferTime");
            return (Criteria) this;
        }

        public Criteria andTransferTimeNotBetween(Integer value1, Integer value2) {
            addCriterion("transfer_time not between", value1, value2, "transferTime");
            return (Criteria) this;
        }

        public Criteria andStarsIsNull() {
            addCriterion("stars is null");
            return (Criteria) this;
        }

        public Criteria andStarsIsNotNull() {
            addCriterion("stars is not null");
            return (Criteria) this;
        }

        public Criteria andStarsEqualTo(String value) {
            addCriterion("stars =", value, "stars");
            return (Criteria) this;
        }

        public Criteria andStarsNotEqualTo(String value) {
            addCriterion("stars <>", value, "stars");
            return (Criteria) this;
        }

        public Criteria andStarsGreaterThan(String value) {
            addCriterion("stars >", value, "stars");
            return (Criteria) this;
        }

        public Criteria andStarsGreaterThanOrEqualTo(String value) {
            addCriterion("stars >=", value, "stars");
            return (Criteria) this;
        }

        public Criteria andStarsLessThan(String value) {
            addCriterion("stars <", value, "stars");
            return (Criteria) this;
        }

        public Criteria andStarsLessThanOrEqualTo(String value) {
            addCriterion("stars <=", value, "stars");
            return (Criteria) this;
        }

        public Criteria andStarsLike(String value) {
            addCriterion("stars like", value, "stars");
            return (Criteria) this;
        }

        public Criteria andStarsNotLike(String value) {
            addCriterion("stars not like", value, "stars");
            return (Criteria) this;
        }

        public Criteria andStarsIn(List<String> values) {
            addCriterion("stars in", values, "stars");
            return (Criteria) this;
        }

        public Criteria andStarsNotIn(List<String> values) {
            addCriterion("stars not in", values, "stars");
            return (Criteria) this;
        }

        public Criteria andStarsBetween(String value1, String value2) {
            addCriterion("stars between", value1, value2, "stars");
            return (Criteria) this;
        }

        public Criteria andStarsNotBetween(String value1, String value2) {
            addCriterion("stars not between", value1, value2, "stars");
            return (Criteria) this;
        }

        public Criteria andQuestionIdIsNull() {
            addCriterion("question_id is null");
            return (Criteria) this;
        }

        public Criteria andQuestionIdIsNotNull() {
            addCriterion("question_id is not null");
            return (Criteria) this;
        }

        public Criteria andQuestionIdEqualTo(Integer value) {
            addCriterion("question_id =", value, "questionId");
            return (Criteria) this;
        }

        public Criteria andQuestionIdNotEqualTo(Integer value) {
            addCriterion("question_id <>", value, "questionId");
            return (Criteria) this;
        }

        public Criteria andQuestionIdGreaterThan(Integer value) {
            addCriterion("question_id >", value, "questionId");
            return (Criteria) this;
        }

        public Criteria andQuestionIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("question_id >=", value, "questionId");
            return (Criteria) this;
        }

        public Criteria andQuestionIdLessThan(Integer value) {
            addCriterion("question_id <", value, "questionId");
            return (Criteria) this;
        }

        public Criteria andQuestionIdLessThanOrEqualTo(Integer value) {
            addCriterion("question_id <=", value, "questionId");
            return (Criteria) this;
        }

        public Criteria andQuestionIdIn(List<Integer> values) {
            addCriterion("question_id in", values, "questionId");
            return (Criteria) this;
        }

        public Criteria andQuestionIdNotIn(List<Integer> values) {
            addCriterion("question_id not in", values, "questionId");
            return (Criteria) this;
        }

        public Criteria andQuestionIdBetween(Integer value1, Integer value2) {
            addCriterion("question_id between", value1, value2, "questionId");
            return (Criteria) this;
        }

        public Criteria andQuestionIdNotBetween(Integer value1, Integer value2) {
            addCriterion("question_id not between", value1, value2, "questionId");
            return (Criteria) this;
        }

        public Criteria andContractIdIsNull() {
            addCriterion("contract_id is null");
            return (Criteria) this;
        }

        public Criteria andContractIdIsNotNull() {
            addCriterion("contract_id is not null");
            return (Criteria) this;
        }

        public Criteria andContractIdEqualTo(Integer value) {
            addCriterion("contract_id =", value, "contractId");
            return (Criteria) this;
        }

        public Criteria andContractIdNotEqualTo(Integer value) {
            addCriterion("contract_id <>", value, "contractId");
            return (Criteria) this;
        }

        public Criteria andContractIdGreaterThan(Integer value) {
            addCriterion("contract_id >", value, "contractId");
            return (Criteria) this;
        }

        public Criteria andContractIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("contract_id >=", value, "contractId");
            return (Criteria) this;
        }

        public Criteria andContractIdLessThan(Integer value) {
            addCriterion("contract_id <", value, "contractId");
            return (Criteria) this;
        }

        public Criteria andContractIdLessThanOrEqualTo(Integer value) {
            addCriterion("contract_id <=", value, "contractId");
            return (Criteria) this;
        }

        public Criteria andContractIdIn(List<Integer> values) {
            addCriterion("contract_id in", values, "contractId");
            return (Criteria) this;
        }

        public Criteria andContractIdNotIn(List<Integer> values) {
            addCriterion("contract_id not in", values, "contractId");
            return (Criteria) this;
        }

        public Criteria andContractIdBetween(Integer value1, Integer value2) {
            addCriterion("contract_id between", value1, value2, "contractId");
            return (Criteria) this;
        }

        public Criteria andContractIdNotBetween(Integer value1, Integer value2) {
            addCriterion("contract_id not between", value1, value2, "contractId");
            return (Criteria) this;
        }

        public Criteria andTravelStartTimeIsNull() {
            addCriterion("travel_start_time is null");
            return (Criteria) this;
        }

        public Criteria andTravelStartTimeIsNotNull() {
            addCriterion("travel_start_time is not null");
            return (Criteria) this;
        }

        public Criteria andTravelStartTimeEqualTo(Date value) {
            addCriterion("travel_start_time =", value, "travelStartTime");
            return (Criteria) this;
        }

        public Criteria andTravelStartTimeNotEqualTo(Date value) {
            addCriterion("travel_start_time <>", value, "travelStartTime");
            return (Criteria) this;
        }

        public Criteria andTravelStartTimeGreaterThan(Date value) {
            addCriterion("travel_start_time >", value, "travelStartTime");
            return (Criteria) this;
        }

        public Criteria andTravelStartTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("travel_start_time >=", value, "travelStartTime");
            return (Criteria) this;
        }

        public Criteria andTravelStartTimeLessThan(Date value) {
            addCriterion("travel_start_time <", value, "travelStartTime");
            return (Criteria) this;
        }

        public Criteria andTravelStartTimeLessThanOrEqualTo(Date value) {
            addCriterion("travel_start_time <=", value, "travelStartTime");
            return (Criteria) this;
        }

        public Criteria andTravelStartTimeIn(List<Date> values) {
            addCriterion("travel_start_time in", values, "travelStartTime");
            return (Criteria) this;
        }

        public Criteria andTravelStartTimeNotIn(List<Date> values) {
            addCriterion("travel_start_time not in", values, "travelStartTime");
            return (Criteria) this;
        }

        public Criteria andTravelStartTimeBetween(Date value1, Date value2) {
            addCriterion("travel_start_time between", value1, value2, "travelStartTime");
            return (Criteria) this;
        }

        public Criteria andTravelStartTimeNotBetween(Date value1, Date value2) {
            addCriterion("travel_start_time not between", value1, value2, "travelStartTime");
            return (Criteria) this;
        }

        public Criteria andTravelEndTimeIsNull() {
            addCriterion("travel_end_time is null");
            return (Criteria) this;
        }

        public Criteria andTravelEndTimeIsNotNull() {
            addCriterion("travel_end_time is not null");
            return (Criteria) this;
        }

        public Criteria andTravelEndTimeEqualTo(Date value) {
            addCriterion("travel_end_time =", value, "travelEndTime");
            return (Criteria) this;
        }

        public Criteria andTravelEndTimeNotEqualTo(Date value) {
            addCriterion("travel_end_time <>", value, "travelEndTime");
            return (Criteria) this;
        }

        public Criteria andTravelEndTimeGreaterThan(Date value) {
            addCriterion("travel_end_time >", value, "travelEndTime");
            return (Criteria) this;
        }

        public Criteria andTravelEndTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("travel_end_time >=", value, "travelEndTime");
            return (Criteria) this;
        }

        public Criteria andTravelEndTimeLessThan(Date value) {
            addCriterion("travel_end_time <", value, "travelEndTime");
            return (Criteria) this;
        }

        public Criteria andTravelEndTimeLessThanOrEqualTo(Date value) {
            addCriterion("travel_end_time <=", value, "travelEndTime");
            return (Criteria) this;
        }

        public Criteria andTravelEndTimeIn(List<Date> values) {
            addCriterion("travel_end_time in", values, "travelEndTime");
            return (Criteria) this;
        }

        public Criteria andTravelEndTimeNotIn(List<Date> values) {
            addCriterion("travel_end_time not in", values, "travelEndTime");
            return (Criteria) this;
        }

        public Criteria andTravelEndTimeBetween(Date value1, Date value2) {
            addCriterion("travel_end_time between", value1, value2, "travelEndTime");
            return (Criteria) this;
        }

        public Criteria andTravelEndTimeNotBetween(Date value1, Date value2) {
            addCriterion("travel_end_time not between", value1, value2, "travelEndTime");
            return (Criteria) this;
        }

        public Criteria andNoteIsNull() {
            addCriterion("note is null");
            return (Criteria) this;
        }

        public Criteria andNoteIsNotNull() {
            addCriterion("note is not null");
            return (Criteria) this;
        }

        public Criteria andNoteEqualTo(String value) {
            addCriterion("note =", value, "note");
            return (Criteria) this;
        }

        public Criteria andNoteNotEqualTo(String value) {
            addCriterion("note <>", value, "note");
            return (Criteria) this;
        }

        public Criteria andNoteGreaterThan(String value) {
            addCriterion("note >", value, "note");
            return (Criteria) this;
        }

        public Criteria andNoteGreaterThanOrEqualTo(String value) {
            addCriterion("note >=", value, "note");
            return (Criteria) this;
        }

        public Criteria andNoteLessThan(String value) {
            addCriterion("note <", value, "note");
            return (Criteria) this;
        }

        public Criteria andNoteLessThanOrEqualTo(String value) {
            addCriterion("note <=", value, "note");
            return (Criteria) this;
        }

        public Criteria andNoteLike(String value) {
            addCriterion("note like", value, "note");
            return (Criteria) this;
        }

        public Criteria andNoteNotLike(String value) {
            addCriterion("note not like", value, "note");
            return (Criteria) this;
        }

        public Criteria andNoteIn(List<String> values) {
            addCriterion("note in", values, "note");
            return (Criteria) this;
        }

        public Criteria andNoteNotIn(List<String> values) {
            addCriterion("note not in", values, "note");
            return (Criteria) this;
        }

        public Criteria andNoteBetween(String value1, String value2) {
            addCriterion("note between", value1, value2, "note");
            return (Criteria) this;
        }

        public Criteria andNoteNotBetween(String value1, String value2) {
            addCriterion("note not between", value1, value2, "note");
            return (Criteria) this;
        }

        public Criteria andBuyerMessageIsNull() {
            addCriterion("buyer_message is null");
            return (Criteria) this;
        }

        public Criteria andBuyerMessageIsNotNull() {
            addCriterion("buyer_message is not null");
            return (Criteria) this;
        }

        public Criteria andBuyerMessageEqualTo(String value) {
            addCriterion("buyer_message =", value, "buyerMessage");
            return (Criteria) this;
        }

        public Criteria andBuyerMessageNotEqualTo(String value) {
            addCriterion("buyer_message <>", value, "buyerMessage");
            return (Criteria) this;
        }

        public Criteria andBuyerMessageGreaterThan(String value) {
            addCriterion("buyer_message >", value, "buyerMessage");
            return (Criteria) this;
        }

        public Criteria andBuyerMessageGreaterThanOrEqualTo(String value) {
            addCriterion("buyer_message >=", value, "buyerMessage");
            return (Criteria) this;
        }

        public Criteria andBuyerMessageLessThan(String value) {
            addCriterion("buyer_message <", value, "buyerMessage");
            return (Criteria) this;
        }

        public Criteria andBuyerMessageLessThanOrEqualTo(String value) {
            addCriterion("buyer_message <=", value, "buyerMessage");
            return (Criteria) this;
        }

        public Criteria andBuyerMessageLike(String value) {
            addCriterion("buyer_message like", value, "buyerMessage");
            return (Criteria) this;
        }

        public Criteria andBuyerMessageNotLike(String value) {
            addCriterion("buyer_message not like", value, "buyerMessage");
            return (Criteria) this;
        }

        public Criteria andBuyerMessageIn(List<String> values) {
            addCriterion("buyer_message in", values, "buyerMessage");
            return (Criteria) this;
        }

        public Criteria andBuyerMessageNotIn(List<String> values) {
            addCriterion("buyer_message not in", values, "buyerMessage");
            return (Criteria) this;
        }

        public Criteria andBuyerMessageBetween(String value1, String value2) {
            addCriterion("buyer_message between", value1, value2, "buyerMessage");
            return (Criteria) this;
        }

        public Criteria andBuyerMessageNotBetween(String value1, String value2) {
            addCriterion("buyer_message not between", value1, value2, "buyerMessage");
            return (Criteria) this;
        }

        public Criteria andYouzanNameIsNull() {
            addCriterion("youzan_name is null");
            return (Criteria) this;
        }

        public Criteria andYouzanNameIsNotNull() {
            addCriterion("youzan_name is not null");
            return (Criteria) this;
        }

        public Criteria andYouzanNameEqualTo(String value) {
            addCriterion("youzan_name =", value, "youzanName");
            return (Criteria) this;
        }

        public Criteria andYouzanNameNotEqualTo(String value) {
            addCriterion("youzan_name <>", value, "youzanName");
            return (Criteria) this;
        }

        public Criteria andYouzanNameGreaterThan(String value) {
            addCriterion("youzan_name >", value, "youzanName");
            return (Criteria) this;
        }

        public Criteria andYouzanNameGreaterThanOrEqualTo(String value) {
            addCriterion("youzan_name >=", value, "youzanName");
            return (Criteria) this;
        }

        public Criteria andYouzanNameLessThan(String value) {
            addCriterion("youzan_name <", value, "youzanName");
            return (Criteria) this;
        }

        public Criteria andYouzanNameLessThanOrEqualTo(String value) {
            addCriterion("youzan_name <=", value, "youzanName");
            return (Criteria) this;
        }

        public Criteria andYouzanNameLike(String value) {
            addCriterion("youzan_name like", value, "youzanName");
            return (Criteria) this;
        }

        public Criteria andYouzanNameNotLike(String value) {
            addCriterion("youzan_name not like", value, "youzanName");
            return (Criteria) this;
        }

        public Criteria andYouzanNameIn(List<String> values) {
            addCriterion("youzan_name in", values, "youzanName");
            return (Criteria) this;
        }

        public Criteria andYouzanNameNotIn(List<String> values) {
            addCriterion("youzan_name not in", values, "youzanName");
            return (Criteria) this;
        }

        public Criteria andYouzanNameBetween(String value1, String value2) {
            addCriterion("youzan_name between", value1, value2, "youzanName");
            return (Criteria) this;
        }

        public Criteria andYouzanNameNotBetween(String value1, String value2) {
            addCriterion("youzan_name not between", value1, value2, "youzanName");
            return (Criteria) this;
        }

        public Criteria andYouzanSexIsNull() {
            addCriterion("youzan_sex is null");
            return (Criteria) this;
        }

        public Criteria andYouzanSexIsNotNull() {
            addCriterion("youzan_sex is not null");
            return (Criteria) this;
        }

        public Criteria andYouzanSexEqualTo(String value) {
            addCriterion("youzan_sex =", value, "youzanSex");
            return (Criteria) this;
        }

        public Criteria andYouzanSexNotEqualTo(String value) {
            addCriterion("youzan_sex <>", value, "youzanSex");
            return (Criteria) this;
        }

        public Criteria andYouzanSexGreaterThan(String value) {
            addCriterion("youzan_sex >", value, "youzanSex");
            return (Criteria) this;
        }

        public Criteria andYouzanSexGreaterThanOrEqualTo(String value) {
            addCriterion("youzan_sex >=", value, "youzanSex");
            return (Criteria) this;
        }

        public Criteria andYouzanSexLessThan(String value) {
            addCriterion("youzan_sex <", value, "youzanSex");
            return (Criteria) this;
        }

        public Criteria andYouzanSexLessThanOrEqualTo(String value) {
            addCriterion("youzan_sex <=", value, "youzanSex");
            return (Criteria) this;
        }

        public Criteria andYouzanSexLike(String value) {
            addCriterion("youzan_sex like", value, "youzanSex");
            return (Criteria) this;
        }

        public Criteria andYouzanSexNotLike(String value) {
            addCriterion("youzan_sex not like", value, "youzanSex");
            return (Criteria) this;
        }

        public Criteria andYouzanSexIn(List<String> values) {
            addCriterion("youzan_sex in", values, "youzanSex");
            return (Criteria) this;
        }

        public Criteria andYouzanSexNotIn(List<String> values) {
            addCriterion("youzan_sex not in", values, "youzanSex");
            return (Criteria) this;
        }

        public Criteria andYouzanSexBetween(String value1, String value2) {
            addCriterion("youzan_sex between", value1, value2, "youzanSex");
            return (Criteria) this;
        }

        public Criteria andYouzanSexNotBetween(String value1, String value2) {
            addCriterion("youzan_sex not between", value1, value2, "youzanSex");
            return (Criteria) this;
        }

        public Criteria andYouzanMobileIsNull() {
            addCriterion("youzan_mobile is null");
            return (Criteria) this;
        }

        public Criteria andYouzanMobileIsNotNull() {
            addCriterion("youzan_mobile is not null");
            return (Criteria) this;
        }

        public Criteria andYouzanMobileEqualTo(String value) {
            addCriterion("youzan_mobile =", value, "youzanMobile");
            return (Criteria) this;
        }

        public Criteria andYouzanMobileNotEqualTo(String value) {
            addCriterion("youzan_mobile <>", value, "youzanMobile");
            return (Criteria) this;
        }

        public Criteria andYouzanMobileGreaterThan(String value) {
            addCriterion("youzan_mobile >", value, "youzanMobile");
            return (Criteria) this;
        }

        public Criteria andYouzanMobileGreaterThanOrEqualTo(String value) {
            addCriterion("youzan_mobile >=", value, "youzanMobile");
            return (Criteria) this;
        }

        public Criteria andYouzanMobileLessThan(String value) {
            addCriterion("youzan_mobile <", value, "youzanMobile");
            return (Criteria) this;
        }

        public Criteria andYouzanMobileLessThanOrEqualTo(String value) {
            addCriterion("youzan_mobile <=", value, "youzanMobile");
            return (Criteria) this;
        }

        public Criteria andYouzanMobileLike(String value) {
            addCriterion("youzan_mobile like", value, "youzanMobile");
            return (Criteria) this;
        }

        public Criteria andYouzanMobileNotLike(String value) {
            addCriterion("youzan_mobile not like", value, "youzanMobile");
            return (Criteria) this;
        }

        public Criteria andYouzanMobileIn(List<String> values) {
            addCriterion("youzan_mobile in", values, "youzanMobile");
            return (Criteria) this;
        }

        public Criteria andYouzanMobileNotIn(List<String> values) {
            addCriterion("youzan_mobile not in", values, "youzanMobile");
            return (Criteria) this;
        }

        public Criteria andYouzanMobileBetween(String value1, String value2) {
            addCriterion("youzan_mobile between", value1, value2, "youzanMobile");
            return (Criteria) this;
        }

        public Criteria andYouzanMobileNotBetween(String value1, String value2) {
            addCriterion("youzan_mobile not between", value1, value2, "youzanMobile");
            return (Criteria) this;
        }

        public Criteria andYouzanWechatIsNull() {
            addCriterion("youzan_wechat is null");
            return (Criteria) this;
        }

        public Criteria andYouzanWechatIsNotNull() {
            addCriterion("youzan_wechat is not null");
            return (Criteria) this;
        }

        public Criteria andYouzanWechatEqualTo(String value) {
            addCriterion("youzan_wechat =", value, "youzanWechat");
            return (Criteria) this;
        }

        public Criteria andYouzanWechatNotEqualTo(String value) {
            addCriterion("youzan_wechat <>", value, "youzanWechat");
            return (Criteria) this;
        }

        public Criteria andYouzanWechatGreaterThan(String value) {
            addCriterion("youzan_wechat >", value, "youzanWechat");
            return (Criteria) this;
        }

        public Criteria andYouzanWechatGreaterThanOrEqualTo(String value) {
            addCriterion("youzan_wechat >=", value, "youzanWechat");
            return (Criteria) this;
        }

        public Criteria andYouzanWechatLessThan(String value) {
            addCriterion("youzan_wechat <", value, "youzanWechat");
            return (Criteria) this;
        }

        public Criteria andYouzanWechatLessThanOrEqualTo(String value) {
            addCriterion("youzan_wechat <=", value, "youzanWechat");
            return (Criteria) this;
        }

        public Criteria andYouzanWechatLike(String value) {
            addCriterion("youzan_wechat like", value, "youzanWechat");
            return (Criteria) this;
        }

        public Criteria andYouzanWechatNotLike(String value) {
            addCriterion("youzan_wechat not like", value, "youzanWechat");
            return (Criteria) this;
        }

        public Criteria andYouzanWechatIn(List<String> values) {
            addCriterion("youzan_wechat in", values, "youzanWechat");
            return (Criteria) this;
        }

        public Criteria andYouzanWechatNotIn(List<String> values) {
            addCriterion("youzan_wechat not in", values, "youzanWechat");
            return (Criteria) this;
        }

        public Criteria andYouzanWechatBetween(String value1, String value2) {
            addCriterion("youzan_wechat between", value1, value2, "youzanWechat");
            return (Criteria) this;
        }

        public Criteria andYouzanWechatNotBetween(String value1, String value2) {
            addCriterion("youzan_wechat not between", value1, value2, "youzanWechat");
            return (Criteria) this;
        }

        public Criteria andYouzanMailIsNull() {
            addCriterion("youzan_mail is null");
            return (Criteria) this;
        }

        public Criteria andYouzanMailIsNotNull() {
            addCriterion("youzan_mail is not null");
            return (Criteria) this;
        }

        public Criteria andYouzanMailEqualTo(String value) {
            addCriterion("youzan_mail =", value, "youzanMail");
            return (Criteria) this;
        }

        public Criteria andYouzanMailNotEqualTo(String value) {
            addCriterion("youzan_mail <>", value, "youzanMail");
            return (Criteria) this;
        }

        public Criteria andYouzanMailGreaterThan(String value) {
            addCriterion("youzan_mail >", value, "youzanMail");
            return (Criteria) this;
        }

        public Criteria andYouzanMailGreaterThanOrEqualTo(String value) {
            addCriterion("youzan_mail >=", value, "youzanMail");
            return (Criteria) this;
        }

        public Criteria andYouzanMailLessThan(String value) {
            addCriterion("youzan_mail <", value, "youzanMail");
            return (Criteria) this;
        }

        public Criteria andYouzanMailLessThanOrEqualTo(String value) {
            addCriterion("youzan_mail <=", value, "youzanMail");
            return (Criteria) this;
        }

        public Criteria andYouzanMailLike(String value) {
            addCriterion("youzan_mail like", value, "youzanMail");
            return (Criteria) this;
        }

        public Criteria andYouzanMailNotLike(String value) {
            addCriterion("youzan_mail not like", value, "youzanMail");
            return (Criteria) this;
        }

        public Criteria andYouzanMailIn(List<String> values) {
            addCriterion("youzan_mail in", values, "youzanMail");
            return (Criteria) this;
        }

        public Criteria andYouzanMailNotIn(List<String> values) {
            addCriterion("youzan_mail not in", values, "youzanMail");
            return (Criteria) this;
        }

        public Criteria andYouzanMailBetween(String value1, String value2) {
            addCriterion("youzan_mail between", value1, value2, "youzanMail");
            return (Criteria) this;
        }

        public Criteria andYouzanMailNotBetween(String value1, String value2) {
            addCriterion("youzan_mail not between", value1, value2, "youzanMail");
            return (Criteria) this;
        }

        public Criteria andYouzanBirthIsNull() {
            addCriterion("youzan_birth is null");
            return (Criteria) this;
        }

        public Criteria andYouzanBirthIsNotNull() {
            addCriterion("youzan_birth is not null");
            return (Criteria) this;
        }

        public Criteria andYouzanBirthEqualTo(String value) {
            addCriterion("youzan_birth =", value, "youzanBirth");
            return (Criteria) this;
        }

        public Criteria andYouzanBirthNotEqualTo(String value) {
            addCriterion("youzan_birth <>", value, "youzanBirth");
            return (Criteria) this;
        }

        public Criteria andYouzanBirthGreaterThan(String value) {
            addCriterion("youzan_birth >", value, "youzanBirth");
            return (Criteria) this;
        }

        public Criteria andYouzanBirthGreaterThanOrEqualTo(String value) {
            addCriterion("youzan_birth >=", value, "youzanBirth");
            return (Criteria) this;
        }

        public Criteria andYouzanBirthLessThan(String value) {
            addCriterion("youzan_birth <", value, "youzanBirth");
            return (Criteria) this;
        }

        public Criteria andYouzanBirthLessThanOrEqualTo(String value) {
            addCriterion("youzan_birth <=", value, "youzanBirth");
            return (Criteria) this;
        }

        public Criteria andYouzanBirthLike(String value) {
            addCriterion("youzan_birth like", value, "youzanBirth");
            return (Criteria) this;
        }

        public Criteria andYouzanBirthNotLike(String value) {
            addCriterion("youzan_birth not like", value, "youzanBirth");
            return (Criteria) this;
        }

        public Criteria andYouzanBirthIn(List<String> values) {
            addCriterion("youzan_birth in", values, "youzanBirth");
            return (Criteria) this;
        }

        public Criteria andYouzanBirthNotIn(List<String> values) {
            addCriterion("youzan_birth not in", values, "youzanBirth");
            return (Criteria) this;
        }

        public Criteria andYouzanBirthBetween(String value1, String value2) {
            addCriterion("youzan_birth between", value1, value2, "youzanBirth");
            return (Criteria) this;
        }

        public Criteria andYouzanBirthNotBetween(String value1, String value2) {
            addCriterion("youzan_birth not between", value1, value2, "youzanBirth");
            return (Criteria) this;
        }

        public Criteria andCollectNameIsNull() {
            addCriterion("collect_name is null");
            return (Criteria) this;
        }

        public Criteria andCollectNameIsNotNull() {
            addCriterion("collect_name is not null");
            return (Criteria) this;
        }

        public Criteria andCollectNameEqualTo(String value) {
            addCriterion("collect_name =", value, "collectName");
            return (Criteria) this;
        }

        public Criteria andCollectNameNotEqualTo(String value) {
            addCriterion("collect_name <>", value, "collectName");
            return (Criteria) this;
        }

        public Criteria andCollectNameGreaterThan(String value) {
            addCriterion("collect_name >", value, "collectName");
            return (Criteria) this;
        }

        public Criteria andCollectNameGreaterThanOrEqualTo(String value) {
            addCriterion("collect_name >=", value, "collectName");
            return (Criteria) this;
        }

        public Criteria andCollectNameLessThan(String value) {
            addCriterion("collect_name <", value, "collectName");
            return (Criteria) this;
        }

        public Criteria andCollectNameLessThanOrEqualTo(String value) {
            addCriterion("collect_name <=", value, "collectName");
            return (Criteria) this;
        }

        public Criteria andCollectNameLike(String value) {
            addCriterion("collect_name like", value, "collectName");
            return (Criteria) this;
        }

        public Criteria andCollectNameNotLike(String value) {
            addCriterion("collect_name not like", value, "collectName");
            return (Criteria) this;
        }

        public Criteria andCollectNameIn(List<String> values) {
            addCriterion("collect_name in", values, "collectName");
            return (Criteria) this;
        }

        public Criteria andCollectNameNotIn(List<String> values) {
            addCriterion("collect_name not in", values, "collectName");
            return (Criteria) this;
        }

        public Criteria andCollectNameBetween(String value1, String value2) {
            addCriterion("collect_name between", value1, value2, "collectName");
            return (Criteria) this;
        }

        public Criteria andCollectNameNotBetween(String value1, String value2) {
            addCriterion("collect_name not between", value1, value2, "collectName");
            return (Criteria) this;
        }

        public Criteria andCollectMobileIsNull() {
            addCriterion("collect_mobile is null");
            return (Criteria) this;
        }

        public Criteria andCollectMobileIsNotNull() {
            addCriterion("collect_mobile is not null");
            return (Criteria) this;
        }

        public Criteria andCollectMobileEqualTo(String value) {
            addCriterion("collect_mobile =", value, "collectMobile");
            return (Criteria) this;
        }

        public Criteria andCollectMobileNotEqualTo(String value) {
            addCriterion("collect_mobile <>", value, "collectMobile");
            return (Criteria) this;
        }

        public Criteria andCollectMobileGreaterThan(String value) {
            addCriterion("collect_mobile >", value, "collectMobile");
            return (Criteria) this;
        }

        public Criteria andCollectMobileGreaterThanOrEqualTo(String value) {
            addCriterion("collect_mobile >=", value, "collectMobile");
            return (Criteria) this;
        }

        public Criteria andCollectMobileLessThan(String value) {
            addCriterion("collect_mobile <", value, "collectMobile");
            return (Criteria) this;
        }

        public Criteria andCollectMobileLessThanOrEqualTo(String value) {
            addCriterion("collect_mobile <=", value, "collectMobile");
            return (Criteria) this;
        }

        public Criteria andCollectMobileLike(String value) {
            addCriterion("collect_mobile like", value, "collectMobile");
            return (Criteria) this;
        }

        public Criteria andCollectMobileNotLike(String value) {
            addCriterion("collect_mobile not like", value, "collectMobile");
            return (Criteria) this;
        }

        public Criteria andCollectMobileIn(List<String> values) {
            addCriterion("collect_mobile in", values, "collectMobile");
            return (Criteria) this;
        }

        public Criteria andCollectMobileNotIn(List<String> values) {
            addCriterion("collect_mobile not in", values, "collectMobile");
            return (Criteria) this;
        }

        public Criteria andCollectMobileBetween(String value1, String value2) {
            addCriterion("collect_mobile between", value1, value2, "collectMobile");
            return (Criteria) this;
        }

        public Criteria andCollectMobileNotBetween(String value1, String value2) {
            addCriterion("collect_mobile not between", value1, value2, "collectMobile");
            return (Criteria) this;
        }

        public Criteria andCollectAddressIsNull() {
            addCriterion("collect_address is null");
            return (Criteria) this;
        }

        public Criteria andCollectAddressIsNotNull() {
            addCriterion("collect_address is not null");
            return (Criteria) this;
        }

        public Criteria andCollectAddressEqualTo(String value) {
            addCriterion("collect_address =", value, "collectAddress");
            return (Criteria) this;
        }

        public Criteria andCollectAddressNotEqualTo(String value) {
            addCriterion("collect_address <>", value, "collectAddress");
            return (Criteria) this;
        }

        public Criteria andCollectAddressGreaterThan(String value) {
            addCriterion("collect_address >", value, "collectAddress");
            return (Criteria) this;
        }

        public Criteria andCollectAddressGreaterThanOrEqualTo(String value) {
            addCriterion("collect_address >=", value, "collectAddress");
            return (Criteria) this;
        }

        public Criteria andCollectAddressLessThan(String value) {
            addCriterion("collect_address <", value, "collectAddress");
            return (Criteria) this;
        }

        public Criteria andCollectAddressLessThanOrEqualTo(String value) {
            addCriterion("collect_address <=", value, "collectAddress");
            return (Criteria) this;
        }

        public Criteria andCollectAddressLike(String value) {
            addCriterion("collect_address like", value, "collectAddress");
            return (Criteria) this;
        }

        public Criteria andCollectAddressNotLike(String value) {
            addCriterion("collect_address not like", value, "collectAddress");
            return (Criteria) this;
        }

        public Criteria andCollectAddressIn(List<String> values) {
            addCriterion("collect_address in", values, "collectAddress");
            return (Criteria) this;
        }

        public Criteria andCollectAddressNotIn(List<String> values) {
            addCriterion("collect_address not in", values, "collectAddress");
            return (Criteria) this;
        }

        public Criteria andCollectAddressBetween(String value1, String value2) {
            addCriterion("collect_address between", value1, value2, "collectAddress");
            return (Criteria) this;
        }

        public Criteria andCollectAddressNotBetween(String value1, String value2) {
            addCriterion("collect_address not between", value1, value2, "collectAddress");
            return (Criteria) this;
        }

        public Criteria andDistributeTypeIsNull() {
            addCriterion("distribute_type is null");
            return (Criteria) this;
        }

        public Criteria andDistributeTypeIsNotNull() {
            addCriterion("distribute_type is not null");
            return (Criteria) this;
        }

        public Criteria andDistributeTypeEqualTo(String value) {
            addCriterion("distribute_type =", value, "distributeType");
            return (Criteria) this;
        }

        public Criteria andDistributeTypeNotEqualTo(String value) {
            addCriterion("distribute_type <>", value, "distributeType");
            return (Criteria) this;
        }

        public Criteria andDistributeTypeGreaterThan(String value) {
            addCriterion("distribute_type >", value, "distributeType");
            return (Criteria) this;
        }

        public Criteria andDistributeTypeGreaterThanOrEqualTo(String value) {
            addCriterion("distribute_type >=", value, "distributeType");
            return (Criteria) this;
        }

        public Criteria andDistributeTypeLessThan(String value) {
            addCriterion("distribute_type <", value, "distributeType");
            return (Criteria) this;
        }

        public Criteria andDistributeTypeLessThanOrEqualTo(String value) {
            addCriterion("distribute_type <=", value, "distributeType");
            return (Criteria) this;
        }

        public Criteria andDistributeTypeLike(String value) {
            addCriterion("distribute_type like", value, "distributeType");
            return (Criteria) this;
        }

        public Criteria andDistributeTypeNotLike(String value) {
            addCriterion("distribute_type not like", value, "distributeType");
            return (Criteria) this;
        }

        public Criteria andDistributeTypeIn(List<String> values) {
            addCriterion("distribute_type in", values, "distributeType");
            return (Criteria) this;
        }

        public Criteria andDistributeTypeNotIn(List<String> values) {
            addCriterion("distribute_type not in", values, "distributeType");
            return (Criteria) this;
        }

        public Criteria andDistributeTypeBetween(String value1, String value2) {
            addCriterion("distribute_type between", value1, value2, "distributeType");
            return (Criteria) this;
        }

        public Criteria andDistributeTypeNotBetween(String value1, String value2) {
            addCriterion("distribute_type not between", value1, value2, "distributeType");
            return (Criteria) this;
        }

        public Criteria andDiscountAmountIsNull() {
            addCriterion("discount_amount is null");
            return (Criteria) this;
        }

        public Criteria andDiscountAmountIsNotNull() {
            addCriterion("discount_amount is not null");
            return (Criteria) this;
        }

        public Criteria andDiscountAmountEqualTo(Integer value) {
            addCriterion("discount_amount =", value, "discountAmount");
            return (Criteria) this;
        }

        public Criteria andDiscountAmountNotEqualTo(Integer value) {
            addCriterion("discount_amount <>", value, "discountAmount");
            return (Criteria) this;
        }

        public Criteria andDiscountAmountGreaterThan(Integer value) {
            addCriterion("discount_amount >", value, "discountAmount");
            return (Criteria) this;
        }

        public Criteria andDiscountAmountGreaterThanOrEqualTo(Integer value) {
            addCriterion("discount_amount >=", value, "discountAmount");
            return (Criteria) this;
        }

        public Criteria andDiscountAmountLessThan(Integer value) {
            addCriterion("discount_amount <", value, "discountAmount");
            return (Criteria) this;
        }

        public Criteria andDiscountAmountLessThanOrEqualTo(Integer value) {
            addCriterion("discount_amount <=", value, "discountAmount");
            return (Criteria) this;
        }

        public Criteria andDiscountAmountIn(List<Integer> values) {
            addCriterion("discount_amount in", values, "discountAmount");
            return (Criteria) this;
        }

        public Criteria andDiscountAmountNotIn(List<Integer> values) {
            addCriterion("discount_amount not in", values, "discountAmount");
            return (Criteria) this;
        }

        public Criteria andDiscountAmountBetween(Integer value1, Integer value2) {
            addCriterion("discount_amount between", value1, value2, "discountAmount");
            return (Criteria) this;
        }

        public Criteria andDiscountAmountNotBetween(Integer value1, Integer value2) {
            addCriterion("discount_amount not between", value1, value2, "discountAmount");
            return (Criteria) this;
        }

        public Criteria andFreightAmountIsNull() {
            addCriterion("freight_amount is null");
            return (Criteria) this;
        }

        public Criteria andFreightAmountIsNotNull() {
            addCriterion("freight_amount is not null");
            return (Criteria) this;
        }

        public Criteria andFreightAmountEqualTo(Integer value) {
            addCriterion("freight_amount =", value, "freightAmount");
            return (Criteria) this;
        }

        public Criteria andFreightAmountNotEqualTo(Integer value) {
            addCriterion("freight_amount <>", value, "freightAmount");
            return (Criteria) this;
        }

        public Criteria andFreightAmountGreaterThan(Integer value) {
            addCriterion("freight_amount >", value, "freightAmount");
            return (Criteria) this;
        }

        public Criteria andFreightAmountGreaterThanOrEqualTo(Integer value) {
            addCriterion("freight_amount >=", value, "freightAmount");
            return (Criteria) this;
        }

        public Criteria andFreightAmountLessThan(Integer value) {
            addCriterion("freight_amount <", value, "freightAmount");
            return (Criteria) this;
        }

        public Criteria andFreightAmountLessThanOrEqualTo(Integer value) {
            addCriterion("freight_amount <=", value, "freightAmount");
            return (Criteria) this;
        }

        public Criteria andFreightAmountIn(List<Integer> values) {
            addCriterion("freight_amount in", values, "freightAmount");
            return (Criteria) this;
        }

        public Criteria andFreightAmountNotIn(List<Integer> values) {
            addCriterion("freight_amount not in", values, "freightAmount");
            return (Criteria) this;
        }

        public Criteria andFreightAmountBetween(Integer value1, Integer value2) {
            addCriterion("freight_amount between", value1, value2, "freightAmount");
            return (Criteria) this;
        }

        public Criteria andFreightAmountNotBetween(Integer value1, Integer value2) {
            addCriterion("freight_amount not between", value1, value2, "freightAmount");
            return (Criteria) this;
        }

        public Criteria andLogisticsInfoIsNull() {
            addCriterion("logistics_info is null");
            return (Criteria) this;
        }

        public Criteria andLogisticsInfoIsNotNull() {
            addCriterion("logistics_info is not null");
            return (Criteria) this;
        }

        public Criteria andLogisticsInfoEqualTo(String value) {
            addCriterion("logistics_info =", value, "logisticsInfo");
            return (Criteria) this;
        }

        public Criteria andLogisticsInfoNotEqualTo(String value) {
            addCriterion("logistics_info <>", value, "logisticsInfo");
            return (Criteria) this;
        }

        public Criteria andLogisticsInfoGreaterThan(String value) {
            addCriterion("logistics_info >", value, "logisticsInfo");
            return (Criteria) this;
        }

        public Criteria andLogisticsInfoGreaterThanOrEqualTo(String value) {
            addCriterion("logistics_info >=", value, "logisticsInfo");
            return (Criteria) this;
        }

        public Criteria andLogisticsInfoLessThan(String value) {
            addCriterion("logistics_info <", value, "logisticsInfo");
            return (Criteria) this;
        }

        public Criteria andLogisticsInfoLessThanOrEqualTo(String value) {
            addCriterion("logistics_info <=", value, "logisticsInfo");
            return (Criteria) this;
        }

        public Criteria andLogisticsInfoLike(String value) {
            addCriterion("logistics_info like", value, "logisticsInfo");
            return (Criteria) this;
        }

        public Criteria andLogisticsInfoNotLike(String value) {
            addCriterion("logistics_info not like", value, "logisticsInfo");
            return (Criteria) this;
        }

        public Criteria andLogisticsInfoIn(List<String> values) {
            addCriterion("logistics_info in", values, "logisticsInfo");
            return (Criteria) this;
        }

        public Criteria andLogisticsInfoNotIn(List<String> values) {
            addCriterion("logistics_info not in", values, "logisticsInfo");
            return (Criteria) this;
        }

        public Criteria andLogisticsInfoBetween(String value1, String value2) {
            addCriterion("logistics_info between", value1, value2, "logisticsInfo");
            return (Criteria) this;
        }

        public Criteria andLogisticsInfoNotBetween(String value1, String value2) {
            addCriterion("logistics_info not between", value1, value2, "logisticsInfo");
            return (Criteria) this;
        }

        public Criteria andCreateByIsNull() {
            addCriterion("create_by is null");
            return (Criteria) this;
        }

        public Criteria andCreateByIsNotNull() {
            addCriterion("create_by is not null");
            return (Criteria) this;
        }

        public Criteria andCreateByEqualTo(String value) {
            addCriterion("create_by =", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByNotEqualTo(String value) {
            addCriterion("create_by <>", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByGreaterThan(String value) {
            addCriterion("create_by >", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByGreaterThanOrEqualTo(String value) {
            addCriterion("create_by >=", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByLessThan(String value) {
            addCriterion("create_by <", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByLessThanOrEqualTo(String value) {
            addCriterion("create_by <=", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByLike(String value) {
            addCriterion("create_by like", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByNotLike(String value) {
            addCriterion("create_by not like", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByIn(List<String> values) {
            addCriterion("create_by in", values, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByNotIn(List<String> values) {
            addCriterion("create_by not in", values, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByBetween(String value1, String value2) {
            addCriterion("create_by between", value1, value2, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByNotBetween(String value1, String value2) {
            addCriterion("create_by not between", value1, value2, "createBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByIsNull() {
            addCriterion("update_by is null");
            return (Criteria) this;
        }

        public Criteria andUpdateByIsNotNull() {
            addCriterion("update_by is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateByEqualTo(String value) {
            addCriterion("update_by =", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByNotEqualTo(String value) {
            addCriterion("update_by <>", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByGreaterThan(String value) {
            addCriterion("update_by >", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByGreaterThanOrEqualTo(String value) {
            addCriterion("update_by >=", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByLessThan(String value) {
            addCriterion("update_by <", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByLessThanOrEqualTo(String value) {
            addCriterion("update_by <=", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByLike(String value) {
            addCriterion("update_by like", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByNotLike(String value) {
            addCriterion("update_by not like", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByIn(List<String> values) {
            addCriterion("update_by in", values, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByNotIn(List<String> values) {
            addCriterion("update_by not in", values, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByBetween(String value1, String value2) {
            addCriterion("update_by between", value1, value2, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByNotBetween(String value1, String value2) {
            addCriterion("update_by not between", value1, value2, "updateBy");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("create_time =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("create_time <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("create_time >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("create_time >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("create_time <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("create_time <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("create_time in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("create_time not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("create_time between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("create_time not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNull() {
            addCriterion("update_time is null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNotNull() {
            addCriterion("update_time is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeEqualTo(Date value) {
            addCriterion("update_time =", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotEqualTo(Date value) {
            addCriterion("update_time <>", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThan(Date value) {
            addCriterion("update_time >", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("update_time >=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThan(Date value) {
            addCriterion("update_time <", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
            addCriterion("update_time <=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIn(List<Date> values) {
            addCriterion("update_time in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotIn(List<Date> values) {
            addCriterion("update_time not in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
            addCriterion("update_time between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
            addCriterion("update_time not between", value1, value2, "updateTime");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}